home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 1995 #1
/
Amiga Plus 1995 #1.iso
/
fish-disketten
/
fish_851-860
/
d851
/
armyminer
/
armyminer.doc
< prev
next >
Wrap
Text File
|
1994-12-13
|
9KB
|
227 lines
ARMYMINER v1.0
April 13, 1993
Preface
~~~~~~~
This program is public domain, binary only. You are free to use it as
long as you leave my copyright notice intact. You can distribute this program
as long as you don't ask any more money for it than a nominal fee for copying,
and if you keep this document with it. If you want to include this program in
a commercial package you need my written permission.
If you have suggestions or remarks about this program, or if you find
any bugs, please let me know.
You can reach me at the following address:
Alain Laferriere
5190 Drolet #1
Montreal, Quebec, H2T 2H2
Canada
Telephone: (514) 277-6668
If you have access to Internet, you'll be able to reach me anytime at
the following address:
E-mail: laferrie@iro.umontreal.ca
Since I read my mail everyday, you can expect a fast answer.
Contents
~~~~~~~~
1. Introduction
2. Usage
3. Bugs
4. Job hunting
5. Special thanks
1. Introduction
~~~~~~~~~~~~~~~
Of all the Amiga versions of Minesweeper or X-Mines I've seen so far, none
was complete enough to satisfy me. I felt that a program that would integrate
all of the good features I've seen in different programs was needed. Also,
the program architecture itself was offering a really interesting challenge so
I decided to write my own.
Armyminer v1.0 works under 1.3 and 2.0, either on PAL or NTSC. It requires
no external libraries whatsoever.
Armyminer was developped on Amiga 3000UX, with Manx Aztec C v5.2a, CED and
Enforcer.
2. Usage
~~~~~~~~
Armyminer can be started from the cli or by clicking its icon in the
WorkBench environment. If first verifies if the stack is sufficient to
handle worst case recursivity. If it's not the case then the following
message is diplayed on screen (if run from CLI):
Stack size is 12000 bytes
Stack must be at least 30000 bytes to run Armyminer
When you start Armyminer from the cli, you can specify an initial seed
value for the pseudo-random number generator. For example:
Armyminer 25643
That feature is really interesting for people who want to compete on the
same boards, by setting the same seed value. Note however that when the
"safe start" switch is enabled, the first clicked square will determine
the board's initial configuation. So, if you want to compete with a friend
you have to either turn that switch off (in which case the board's
configuration will always be the same no matter which square is first
clicked) or to both click on the same square to start the game.
If no seed value is specified, the program calculates a new seed
by using the current system's time.
Armyminer possess 4 different game settings:
BEGINNER MODE : 8 by 8 board, 15% (9) bombs
ADVANCED MODE : 30 by 16 board, 21% (100) bombs
EXPERT MODE : 25 by 25 board, 24% (150) bombs
CUSTOM MODE : You select the board width, height and bomb percentage
Armyminer starts in ADVANCED mode. These board settings are similar to
the ones in the X-Window's XMines. You can start playing the game by
clicking on any square, or choose a different setting by either selecting
it in the menus (or by using the keyboard alternates) or by clicking on the
corresponding gadget on screen.
As you will notice, there is a PAUSE option which temporarily hides the
board and pauses the timer. It's a very interesting feature as it lets you
answer the phone (or eat a pizza slice) in the middle of a game, by example.
That PAUSE options is only available when there is a game in progress. When
it's not the case, the gadget is ghosted. When you select the "About" item
when a game is in process, the timer is also paused so you can continue
the game without loosing time.
When the game window in inactivated, the counter temporarily pauses and
restarts when the game is reactivated.
Like in other minesweeper-type games available, you use the mouse in the
following way:
- Use left mouse button to click (push down) a square in the board
- Use right mouse button to toggle the state of a covered square
- Use right or left mouse button on an uncovered square to clean its
neighbours (when the number of marked squares in its neighbourhood is
the same as the number written on the uncovered square itself).
In the OPTIONS menu, you'll find the following items:
- Use question marks. Lets the user cycle the state of a covered square
(by clicking the right mouse button when the mouse pointer is over the
square) from unmarked, to marked (check mark symbol), to a question
mark ("?") to unmarked. When inactive, the square state is toggled from
unmarked to marked to unmarked. This option was available on the
IBM-compatible Minesweeper so I decided it would be nice to have it
here.
- Safe start. Assures you that the first square you'll click when starting
a new game will have no bombs in its immediate neighbours. That way, you
are sure to clean a part of the board. When inactive, you have absolutely
no garantee to start a game safely and it's possible to explode on the
first click.
- Auto mark. By clicking the left or right mouse button when the mouse pointer
is over an uncovered square, forces all its neighbours to be marked as bombs
when they are in equal number as the number written on the uncovered square
itself. That option makes the game a lot more easy.
- Safe click. Forces the board squares to be treated as normal Amiga gadgets.
That means if you push a square and keep the left mouse button pressed,
then move the mouse, the square will return to its covered state. When this
option in turned off, moving the mouse will have no effect and the square
will be pushed anyway. The IBM-compatible Minesweeper reacts as having the
safe click option ON. Some players (like me) prefer to turn it off because
when you click squares rapidly (i.e. moving the mouse at the same time),
the gadget-like behavior will ignore some of the clicked squares and put
them back to their original covered state.
- Sound effects. There is sound effects for pushing, popping, marking and
exploding a square, also there is a "good work son" played when your score
is good enough to enter the high-score table. You can turn them ON or OFF
with that option.
The default settings of these options for each mode are:
Mode Use question marks Safe start Auto mark Safe Click
---- ------------------ ---------- --------- ----------
BEGINNER ACTIVE ACTIVE ACTIVE ACTIVE
ADVANCED INACTIVE ACTIVE INACTIVE INACTIVE
EXPERT INACTIVE ACTIVE INACTIVE INACTIVE
CUSTOM INACTIVE ACTIVE ACTIVE INACTIVE
There are 4 high-scores tables (BEGINNER, ADVANCED, EXPERT, CUSTOM). The first
three of those are ordered by timer values since the board dimensions remain
the same in each. The custom high-score table entries are ordered in a
different way. The "score" is calculated in regard to the board dimensions, the
bomb percentage and the timer value.
The SCORES menu possess the following items:
- SHOW : Displays any of the high-scores table
- CLEAR : Resets all the entries of any of the high-scores table
3. Bugs
~~~~~~~
The only problem that remains is the string gadget behavior (when a user
enters his name in the high-score table). Under 2.0, the gadget is
autoactivated but under 1.3, the user must first click in it.
Since I developped that program with Enforcer v37.25, there are no bad
memory access problems for sure!
4. Job hunting
~~~~~~~~~~~~~~
This is my first release of a game in the public domain. However, I wrote
lots of other programs (tools, disk utilities, etc) for myself and friends
and I am getting very comfortable with the Amiga computer.
My next project is not yet decided but I think I'll go for a commercial
shoot-em up development or maybe a really complete text processing tool.
If there are any commercial software development companies listening out
there, you have my address. If you need somebody to code stuff then you
know how to contact me.
I know that lots of european magazines put public domain software on their
cover disks. If my program happens to appear on such a disk, I'll be very
thankful to receive a copy of the magazine and to hear from anybody who
likes my program and wants to discuss about it.
5. Special thanks
~~~~~~~~~~~~~~~~~
Special thanks goes to my good friend Daniel Beaudry, who made the
"About" menu's picture and other graphics. Also thanks to Pierre Rioux
who did a wonderful job at sending bug reports and suggestions.
Philippe Hebrais, Lucie Jolicoeur, Eric Prevot and Jocelyn Cloutier
also played many games and gave me very good suggestions that were
later included.